

from core.himesis import Himesis
import cPickle as pickle
from uuid import UUID

class HM1_M2M(Himesis):
    def __init__(self):
        """
        Creates the himesis graph representing the AToM3 model HM1_M2M.
        """
        # Flag this instance as compiled now
        self.is_compiled = True
        
        super(HM1_M2M, self).__init__(name='HM1_M2M', num_nodes=6, edges=[])
        
        # Add the edges
        self.add_edges([(2, 0), (0, 5), (1, 3), (3, 4)])
        # Set the graph attributes
        self["mm__"] = pickle.loads("""(lp1
S'SimpleDSLTransMM'
p2
a.""")
        self["name"] = """M1_M2M"""
        self["GUID__"] = UUID('d0f0822b-8d44-440a-9efb-34d8971126aa')
        
        # Set the node attributes
        self.vs[0]["mm__"] = """apply_contains"""
        self.vs[0]["GUID__"] = UUID('8a78721f-5689-4a0b-b2eb-99623734fd4b')
        self.vs[1]["mm__"] = """MatchModel"""
        self.vs[1]["GUID__"] = UUID('06ad7853-8de1-4ee3-a2c6-079ad8eabcc4')
        self.vs[2]["mm__"] = """ApplyModel"""
        self.vs[2]["GUID__"] = UUID('d9db3851-ca97-44f2-82b4-0c4cb87ba8fa')
        self.vs[3]["mm__"] = """match_contains"""
        self.vs[3]["GUID__"] = UUID('a0fae854-4fac-4618-a99e-11733b55f58e')
        self.vs[4]["mm__"] = """Male_S"""
        self.vs[4]["name"] = """m"""
        self.vs[4]["GUID__"] = UUID('522154c1-9b09-49d2-9fcf-84a94c686ca5')
        self.vs[5]["mm__"] = """Male_T"""
        self.vs[5]["name"] = """m"""
        self.vs[5]["GUID__"] = UUID('79dd4565-8a79-4596-b94d-f4d208824cc4')

